Power Queryによるデータクレンジング
from データクレンジング, ETLツール, Power Query, データハンドリングと前処理
本ページのExcelサンプルデータ → データ前処理練習用ファイル3(PowerQuery練習).xlsx
以下の説明はこのサンプルデータと対応しています。
なお、本ページの内容は、Windows版のExcelでしかできない可能性があります(Mac版は見た目も異なり、一部機能がなかったりする可能性があります)ので、注意してください。
データクレンジングの練習
上のサンプルデータをダウンロードしましょう
シート「集計表(汚い版)」は、以下のように「汚い」データになっています
https://gyazo.com/25e5bc096dce2ed4fe6389d5e38c41d9
このデータをクレンジングしてみましょう
データの抽出(Extract)
Power Queryによるデータクレンジング
「データ」タブの「データの取得と変換」がPower Queryの入り口(Excel 2016以降)
https://gyazo.com/1bd738e9b0390651f71ef11ba07e47cf
クレンジングしたいテーブルデータの範囲のどこかを選択したうえで、「テーブルまたは範囲から」をクリックすると、そのテーブルデータの範囲がテーブル(Excel機能の「テーブル」)に変換され、Power Queryが立ち上がる
https://gyazo.com/ee3f71a238427d7a7c121b164ddc649b
以下のようなPower Queryエディターが立ち上がる
https://gyazo.com/7ad00cfdb0108880f277469344763f31
上のテーブルデータが読み込まれている(Excel上のデータがPower Queryに抽出された)ことを確認しよう
データ範囲の一行目(先頭行)が「列名」になっていることも確認しよう
セル結合されていたものは解除され、一番上のセルのみに値が入っている
他のセルはnull(何も値が入っていないという意味)になっている
データの変換(Transform)
データの変換
上のリボンからいろいろなデータ処理(変換等)の操作ができる
列を選択して、列ごとに処理をする
https://gyazo.com/30f90e92a0d255ac9c18bedc7b2e45aa
書式の変換
文字の書式を変換する処理
処理したい列を選んだうえで、リボンから目的の処理を選ぶ
https://gyazo.com/3a0b1ab105e1f9184aaf963318355153
https://gyazo.com/fa784a0df03d4c4212d6c7bbb82461b0
上の各操作は、Excelの文字列操作関数によるデータクレンジングでいえば、TRIM関数、CLEAN関数、SUBSTITUTE関数にあたる
その他の処理もいろいろあるので、目的に応じて利用する
フィル
欠損(null)を埋めることができる
セル結合されたデータの補完などに便利
https://gyazo.com/da30d766fb71d4ff58aa1152e613575c
そのほかにも、いろいろな変換・処理ができる(必要に応じて調べてみよう)
変換ステップの記録
一連の変換ステップ全体はクエリと呼ばれる
データの変換ステップは記録される
https://gyazo.com/d79ea20e3cbceb532aa6fab0e4134510
任意のステップの状態をいつでも確認することができる
https://gyazo.com/b1b6af07aee5e8e376d67ff0175fca18
処理後のデータの読み込み(Load)
処理後のデータの読み込み
最後のステップの状態で、「ホーム」ダブの「閉じて読み込む」をクリックすることで、Power Queryエディターが閉じ、もとのExcelファイルの新しいシートに、処理後のデータが読み込まれる
https://gyazo.com/3221437d1535a6f8205ef256ff674fd2
hr.icon
おまけ
完成形の見本としてデータ前処理練習用ファイル3(PowerQuery練習)【見本】.xlsxも用意しています。
セキュリティの警告が出ますが、有効化して大丈夫です
https://gyazo.com/721b39155871c77574a5836f5671a7fb
「データ」タブから「クエリを接続」を押すとクエリを表示させることができます
https://gyazo.com/97313fe87663371bca8836e0e2075a7f